# 高阶函数：higher-order function
# 当一个函数接收另一个函数作为参数的时候，这个时候这种函数我们就把它称为高阶函数
# 如:函数A的参数中有个函数B,那么A就是高阶函数

import time


# time_master 就是一个高阶函数
def time_master(func):
    def call_func():
        print("开始运行程序...")
        start = time.time()
        func()
        stop = time.time()
        print("结束程序运行...")
        print(f"一共耗费了{(stop - start)}秒。")

    return call_func


def my_func():
    time.sleep(2)
    print("I love FishC")


myfunc = time_master(my_func)
myfunc()

# 开始运行程序...
# I love FishC
# 结束程序运行...
# 一共耗费了2.00087308883667秒。
